package com.keyware.kd.repository.mybatis.itf;

import java.util.List;

import com.keyware.kd.repository.entity.Menu;
import com.keyware.kd.repository.entity.MenuPermisson;
import com.keyware.kd.vo.menu.MenuPermissionVo;

public interface MenuPermissonMapper {
    int insert(MenuPermisson record);

    int insertSelective(MenuPermisson record);
    
    
    /**
     * 
     * @Title: deleteByMenuId
     * @Description: 根据菜单ID删除菜单下所有关联的所有权限点
     * @param menuId
     * @return
     * @return int
     */
    int deleteByMenuId(String menuId);

    
	List<MenuPermissionVo> getMenuPermissonByMenuId(String menuId);
	

	List<MenuPermissionVo> getAllMenuPermisson();

	void deleteMenuPermission(MenuPermisson menuPermisson);
	
	/**
	 * 
	 * @author: 赵亚舟
	 * @Title: deleteByPermissionId
	 * @Description: 根据权限点ID删除
	 * @param permissionId
	 * @return void
	 */
	void deleteByPermissionId(String permissionId);

	/**
	*
	* @Title: getMenuPermissonList
	* @Description: 获取菜单权限集合通过菜单集合
	* @param  menuIdList
	* @author 李军荣
	* @return java.util.List<com.keyware.kd.repository.entity.MenuPermisson>
	*/
	List<MenuPermisson> getMenuPermissonList(List<String> menuIdList);

	/***
	*
	* @Title: batchAddMenuPermisson
	* @Description: 批量添加菜单权限表
	* @param  menuPermissonList
	* @author 李军荣
	* @return void
	*/
	void batchAddMenuPermisson(List<MenuPermisson> menuPermissonList);

	/***
	*
	* @Title: deleteByMenuIdList
	* @Description: 删除通过菜单集合
	* @param  menuIdList
	* @author 李军荣
	* @return void
	*/
	void deleteByMenuIdList(List<String> menuIdList);
}